#pragma once
#include <WiFi.h>
/**
 * @brief WiFi连接管理器，封装ESP32的WiFi操作
 * @note 默认使用STA模式，不支持AP模式
 */
class WiFiManager {
   public:
    /**
     * @brief 连接到指定WiFi网络
     * @return true连接成功, false失败
     */
    bool connect();

    /// @brief 断开当前WiFi连接
    void disconnect();

    /// @brief 检查是否已连接
    bool isConnected();

    /// @brief 获取当前连接状态描述字符串
    const char* getStatusString();

    /// @brief 获取本地IP地址（String形式）
    String getLocalIP();

   private:
    // 内部记录连接状态
    wl_status_t _status = WL_DISCONNECTED;
};